<?php
/**
* 名称：帐户策略类。
*/
abstract class Controller_Public_Account extends Controller_Public_Preload{
    /**
    * @const string 帐户验证程式标量之默认。
    */
    const ACCOUNT_ACTION_DEFAULT='default';

    /**
    * @const string 帐户验证程式标量之其它。
    */
    const ACCOUNT_ACTION_OTHER='other';

    /**
    * 程式根据该标识的值选择帐户验证程式。
    * @var     string
    * @access  protected
    */
    protected $AccountAction=NULL;

    /**
    * 描述：帐户域构造方法,用于验证子类标识并选择验证程式。
    * @access public
    * @return void
    */
    public function __Construct($method){
        if($this->AccountAction===self::ACCOUNT_ACTION_DEFAULT||$this->AccountAction===NULL){
            $this->CheckDefault();
        }
        elseif($this->AccountAction===self::ACCOUNT_ACTION_OTHER){
            $this->CheckOther();
        }
        //~
        parent::__Construct($method);
    }

    /**
    * 描述：默认程式验证方法。
    * @access private
    * @return void
    */
    private function CheckDefault(){
        echo 'account.common-action<br/>';
    }

    /**
    * 描述：其它程式验证方法。
    * @access private
    * @return void
    */
    private function CheckOther(){
        echo 'account.common-other<br/>';
    }
}